package com.example.smartpark.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.smartpark.dto.AnnouncementCategoryDTO;

import java.util.List;

/**
 * 公告分类Service接口
 */
public interface AnnouncementCategoryService {

    /**
     * 获取所有公告分类
     *
     * @return 分类列表
     */
    List<AnnouncementCategoryDTO> getAllCategories();

    /**
     * 分页获取公告分类
     *
     * @param page 页码
     * @param size 每页大小
     * @return 分页结果
     */
    IPage<AnnouncementCategoryDTO> getCategoryPage(int page, int size);

    /**
     * 获取公告分类详情
     *
     * @param id 分类ID
     * @return 分类详情
     */
    AnnouncementCategoryDTO getCategoryById(Integer id);

    /**
     * 创建公告分类
     *
     * @param categoryDTO 分类信息
     * @return 创建后的分类
     */
    AnnouncementCategoryDTO createCategory(AnnouncementCategoryDTO categoryDTO);

    /**
     * 更新公告分类
     *
     * @param id 分类ID
     * @param categoryDTO 分类信息
     * @return 更新后的分类
     */
    AnnouncementCategoryDTO updateCategory(Integer id, AnnouncementCategoryDTO categoryDTO);

    /**
     * 删除公告分类
     *
     * @param id 分类ID
     * @return 是否成功
     */
    boolean deleteCategory(Integer id);
} 